The present invention relates to a system of and device for decoding and correcting many error-correctable codes (long distance code) at high speed in the correcting system.
Recording and reproducing of an optical disk or the like or the data transmission often employs data-coding and -decoding for correcting an error or errors included in a block consisting of many words such as 255 words by means of an error correcting code such as a BCH code or a Reed Solomon code.
In order to correct errors contained in many words by means of a BCH code or a Reed Solomon code, it is necessary to obtain coefficients of an error location polynomial on the basis of a syndrome generated from the received data.
Namely, this error location polynomial is a polynomial which has as a root a value corresponding with an error location. Thus, it is possible to calculate the location of the data containing an error by means of obtaining a coefficient of each term of an error location polynomial and by the Chien Algorithm.
This Chien Algorithm has a process of sequentially substituting elements except "0" of the Galois field used for correcting an error for an error location polynomial, obtaining the elements resulting in 0 which are as many as erroneous words and computing the error locations on these elements.
Accordingly, in an error correcting code for 4-word correction consisting of an extended Galois field (2.sup.8), if errors are caused at the locations corresponding with .alpha..sup.0, .alpha..sup.1, .alpha..sup.2 and .alpha..sup.2 5 4 of the GF (2.sup.8) elements .alpha..sup.0, .alpha..sup.1, . . . , .alpha..sup.2 5 4 except 0, the operation must be done for .alpha..sup.0 to .alpha..sup.2 5 4, that is, 255 times, so decoding has a shortcoming that it consumes too much time.
Heretofore, Peterson, Berlekamp Massey and Euclidean algorithms are well known as a system for obtaining coefficients of this type of error location polynomial. Yet, in the hardware arrangement, it is difficult to obtain practicable hardware due to very bulky arrangement. In the software arrangement, it has a problem of hard judgement, that is, slow processing speed.